package com.djzhou.gmms.service.base;

import java.util.HashMap;
import java.util.List;

import com.djzhou.gmms.model.entity.Entity;
import com.djzhou.gmms.model.entity.PageBean;
import com.djzhou.gmms.model.user.VoResource;

public interface BaseService<T extends Entity> {
	/**
	 * 添加方法
	 * @param t
	 *
	 */
	void add(T t);
	/**
	 * 更新方法
	 * @param t
	 *
	 */
	void update(T t);
	/**
	 * 删除方法
	 * @param id
	 *
	 */
	void delete(Integer id);
	/**
	 * 查询 带分页
	 * @param hashMap
	 * @param pageSize
	 * @param currentPage
	 * @return
	 *
	 */
	PageBean<T> queryPageBean(HashMap<String, Object> hashMap,int pageSize, int currentPage);
	/**
	 * 查询 集合
	 * @param hashMap
	 * @return
	 *
	 */
	List<T> queryList(HashMap<String, Object> hashMap);
	/**
	 * 通过ID获取实体
	 * @param id
	 * @return
	 *
	 */
	T queryById(Integer id);
	/**
	 * 自动完成查询控件
	 * @param searchStr 搜索字符串
	 * @param sidx 按哪列排序
	 * @param sord 排序方式 正序asc 倒序desc
	 * @param pageSize 每页显示数
	 * @param currentPage 当前页
	 * @return
	 */
	VoResource query4AutoComplete(HashMap<String, Object> hashMap,String sidx,String sord,int pageSize, int currentPage);
	
	
}
